package com.bosssoft.trainee.rbac.service;

import com.bosssoft.trainee.rbac.entity.dto.RolesDTO;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface RolesService {
    /**
     * 添加角色
     *
     * @param rolesDTO rolesDTO
     * @return Result<RolesDTO>
     */
    int insertRole(RolesDTO rolesDTO);
    /**
     * 给添加的角色添加权限
     *
     * @param rolesDTO rolesDTO
     * @param menuIdList menuIdList
     * @return Result<RolesDTO>
     */
    int insertRoleMenu(RolesDTO rolesDTO, List<Integer> menuIdList);
    /**
     * 删除角色
     *
     * @param rolesDTO rolesDTO
     * @return Result<int>
     */
    int deleteRole(RolesDTO rolesDTO);
    /**
     * 更改角色名称
     *
     * @param rolesDTO rolesDTO
     * @return Result<int>
     */
    int updateRolesName(RolesDTO rolesDTO);
    /**
     * 查询该用户的所有角色
     *
     * @param userId userId
     * @return Result<List<RolesDTO>>
     */
    List<RolesDTO> getUserRoles(Integer userId);
    /**
     * 查询所有角色
     *
     * @return Result<List<RolesDTO>>
     */
    List<RolesDTO> getAllRoles();
}
